iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 5
0
  • 目錄
    • @ Introduce Helm Chart @
    • Introduce Kustomize

講完了log收集後, 我們來介紹在K8s你可以利用哪些工具,讓你在部署應用的過程中更省力

Helm的簡介

首先介紹一個K8s的應用管理工具 -- Helm

Helm之於K8s就如同RHEL的yum, Ubuntu的apt-get, 是K8s部署不可少的神兵利器。

在Helm的世界裡有兩個Term:

  • chart - 應用的部署package, 詳細介紹請看此
  • release - 部署完的helm

Helm的架構圖

由這張架構圖可以很清楚的看到Helm, tiller以及K8s的關係
Helm 就是 Client, 負責幫你抓你要的檔案(chart)下來
而Tiller則是擔任server, 幫你呼叫K8s API把抓下來的檔案部署上K8s


稍微對K8s有研究的人就會知道,一個完整的應用不只需要Deployment, 還會需要Service, Ingress, ServiceAccount, ...等等的部署文件。而其中又可能有相依性,這時候如果有整套的部署文件幫你船便便那該有多好! 當然如果你寫好了部署文件想要打包起來上傳分享也可以。

於是乎神器Helm就這樣降臨了!

Helm的使用

要使用Helm也非常簡單

brew install kubernetes-helm

沒錯使用Mac就是一鍵安裝, 其他的OS安裝方式請看這裡

裝完之後我們還需要在K8s上裝一個叫tiller的server, tiller可以監聽來自helm client(Cli)的請求, 幫我們在K8s上安裝好想要的chart。

首先初始化

helm init

helm init 完之後可以看到tiller component已經跑起來了

更新chart repo

試著安裝一個chart

失敗了?
根據這個已經被公開的Issue表示原因出自於K8s RBAC的權限問題,詳細文件請看這


照著issue裡面的workaround添加相應的角色,權限問題就解決了
重新裝一遍mysql chart

OK成功!

helm 在安裝的同時也會有說明講解要如何確認你的chart是否裝好了

要解除安裝也很方便, 下del指令即可

helm del --purge ${helm release name}

如果還想找更多的charts, 可以到這裡來

或是可以下command搜尋(如果不給關鍵字就會有全部的charts)

helm search ${chart name}

同場加映: Helm v3

Helm v3出來囉!看這裡
這次拿掉惱人的tiller,也修改了一些指令,有興趣的人可以看一下

打完收工。
下篇來講講K8s的Service

Reference

  1. Helm Docs: https://helm.sh/docs/glossary/
  2. 快速開始使用Helm: https://helm.sh/docs/using_helm/#quickstart-guide
  3. RBAC問題速解:https://www.cnblogs.com/mingbai/p/helmerr.html
  4. Helm blog - Helm v3 release!: https://helm.sh/blog/helm-v3-beta/

上一篇
Oh My Logs ! 談談如何在K8s中收集logs - 4
下一篇
Oh My Kustomize ! 部署應用的神兵利器 - 2
系列文
其實我真的沒想過要利用夾縫中求生存的 30 天K8s可以怎麼用12
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言